class CarytShop {
    constructor() {
        this.flag = null
        this.id = null
    }
    init() {
        let _this = this
        let shoplist = {}
        //1.获取当前本地存储，进行渲染数据
        if (localStorage.getItem('shopS')) {
            $('.cart_pc_bg_NO').hide()//有数据隐藏购物车为空页面
            $('.cart_pc_bg').show()//有数据显示购物车页面
            shoplist = JSON.parse(localStorage.getItem('shopS'))
        }
        // 所有数据的接口地址： http://127.0.0.1/SAMSUNGproject/backend/allCom.php
        $.ajax({
            url: 'http://127.0.0.1/SAMSUNGproject/backend/allCom.php',
            // method: 'get',
            dataType: 'json'
        }).then((result) => {
            // console.log(result);

            let shoplistname = Object.keys(shoplist)
            let num = 0 // 根据渲染数量次数，渲染有多少件商品
            $.each(shoplistname, function (i, shopNmae) {
                // console.log(shopNmae.substring(5));
                $.each(result, function (index, element) {

                    if (shopNmae.substring(5) === element.sid) {
                        // console.log(element);
                        let cloneConent = $('.cart_content:hidden').eq(0).clone(true, true)
                        cloneConent.attr('id', element.sid)
                        cloneConent.find('.cart_item_img img').attr('src', element.url)
                        cloneConent.find('.cart_item_title').html(element.title)
                        cloneConent.find('.cart_item_price').html(`￥${element.price}`)
                        cloneConent.find('.cart_item_xl').html(element.sailnumber)
                        cloneConent.find('.zengjia input').val(shoplist[shopNmae])
                        cloneConent.find('.cart_item_sum').html("￥" + shoplist[shopNmae] * element.price)
                        cloneConent.css({
                            display: 'block'
                        })
                        $('.cart_scrollTop').append(cloneConent)
                        calc()
                        //设置商品数量
                        num++
                        $('.zj span').eq(0).find('i').html(num)
                    }
                })
                // return false
            })
        })
        //封装总计函数
        function calc() {
            let num = 0
            let zj = 0
            $(".cart_content:visible").each(function (index, element) {

                if ($(element).find('.cheks').prop('checked')) {
                    num += parseFloat($(element).find('.zengjia input').val()) //累计数量
                    zj += parseFloat($(element).find('.cart_item_sum').html().substring(1))
                }
            })

            $('.zj span').eq(1).find('i').html(num)
            $('.zj span').eq(2).find('i').html(zj)

        }
        //按钮操作，全选按钮

        $('.allchecks').on('click', function () {
            if ($(this).prop('checked')) {
                $(this).parents('.cart_pc_bg').find('.cart_scrollTop').find(".cart_content:visible").find('.cheks').prop('checked', true)
            } else {
                $(this).parents('.cart_pc_bg').find('.cart_scrollTop').find(".cart_content:visible").find('.cheks').prop('checked', false)
            }
            $('.allchecks').prop('checked', $(this).prop('checked'))
            calc()
        })

        //点击按钮判断按钮是否全部选中，全部选中的话，两个全选按钮需要一起选中
        $(".cart_scrollTop").on('click', '.cart_content:visible', function () {

            let lenS = $('.cart_content:visible').find('.cheks').length
            let lenT = $('.cart_content:visible').find('.cheks:checked').length
            if (lenS === lenT) {
                $('.allchecks').prop('checked', true)

            } else {
                $('.allchecks').prop('checked', false)
            }
            calc()
        });
        //++
        //利用事件委托，不然元素是渲染的，无法获取里面的值
        $(".cart_scrollTop").on('click', '.icon-jia', function () {
            let num = $(this).parents('.el_item_btn').find('.zengjia input').val()//数量框
            num++
            $(this).parents('.el_item_btn').find('.zengjia input').val(num)

            $(this).parents('.cart_com_item_header').find('.cart_item_sum').html("￥" + Djjs($(this)));
            // console.log($(this).parents('.cart_content').attr('id'));
            // console.log($(this).parents('.cart_com_item_header').find('.cart_item_sum').html().substring(1));
            localS($(this), $(this).parents('.cart_content').attr('id'))
            calc()
        });
        //--
        $(".cart_scrollTop").on('click', '.icon-24gl-minusCircle', function () {
            let num = $(this).parents('.el_item_btn').find('.zengjia input').val()//数量框
            num--
            if (num < 1) {//不可小于1小于让其等于1
                num = 1
            }
            $(this).parents('.el_item_btn').find('.zengjia input').val(num)
            $(this).parents('.cart_com_item_header').find('.cart_item_sum').html("￥" + Djjs($(this)));
            localS($(this), $(this).parents('.cart_content').attr('id'))
            calc()
        });

        //文本框不可传入字母
        $(".cart_scrollTop").on('input', '.zengjia input', function () {
            let reg = /^[1-9]\d+$/
            if (!reg.test($(this).val())) {
                console.log(reg.test($(this).val()));
                $(this).val(1)
            }
            localS($(this), $(this).parents('.cart_content').attr('id'))
            // console.log($(".cart_content:visible"));
            calc()
            console.log($(this));
            $(this).parents('.cart_com_item_header').find('.cart_item_sum').html("￥" + Djjs($(this)));
        });

        //小计的函数封装
        function Djjs(obj) {
            let dj = obj.parents('.cart_com_item_header').find('.cart_item_price').html().substring(1)
            let sL = obj.parents('.cart_com_item_header').find('.zengjia input').val()
            return dj * sL
        }
        //封装本地存储的改变
        function localS(obj, sid) {
            shoplist["cert_" + sid] = obj.parents('.cart_com_item').find('.zengjia input').val().substring(0)
            localStorage.setItem('shopS', JSON.stringify(shoplist))
        }
        //移除元素，移除元素
        $(".cart_scrollTop").on('click', '.cart_item_dele a', function (e) {
            e.preventDefault()//取消事件的默认行为
            //点击出现模态框
            $('.nubusCart').css('display', 'block')
            $('.nubusCart').stop(true).animate({
                opacity: 1
            })
        });

        //XX按钮
        $('.Xs').on('click', function () {
            console.log(1);
            $('.nubusCart').css({
                'display': 'none',
                opacity: 0
            })
        })

        //确定退出
        $('.cart_pc_bg').on('click', '.ggCart', function () {
            _this.flag = true
            console.log(_this.flag);
            $('.nubusCart').css({
                'display': 'none',
                opacity: 0

            })
            let cartLi = $(this).parents('.nubusCart').next().find('.cart_content:visible')
            $.each(cartLi, (index, element) => {
                if ($(element).attr('id') === _this.id && _this.flag) {
                    deleLocal($(element).attr('id'))
                    $(element).remove()
                    calc()
                }
            })
            if (Object.keys(shoplist).length === 0) {
                location.reload()
            }

        })
        //确定取消
        $('.jiarugouwucheCart').on('click', function () {
            _this.flag = false
            console.log(_this.flag);

            $('.nubusCart').css({
                'display': 'none',
                opacity: 0
            })

        })

        //点击判断变量是否为true
        $(".cart_scrollTop").on('click', '.cart_item_dele a', function (e) {
            e.preventDefault()//取消事件的默认行为
            _this.id = $(this).parents('.cart_content').attr('id')
            console.log(_this.id);
            // console.log(_this.flag);
            // if (_this.flag) {
            //     deleLocal($(this).parents('.cart_content').attr('id'))
            //     $(this).parents('.cart_content').remove()
            //     calc()
            // }

        });




        //滑过按钮添加样式
        $('.ggCart').hover(function () {
            $(this).addClass('active')
        }, function () {
            $(this).removeClass('active')
        })
        // 根据判断checked是否选中的删除
        // console.log($('.cart_setlement'));
        //移除元素，移除元素
        $("#allDele").on('click', function (e) {
            e.preventDefault()//取消事件的默认行为
            let An = $(this).parents('.cart_pc_bg').find('.cart_scrollTop').find('.cart_content:visible').find('.cheks')
            // console.log(An);
            An.each(function (index, element) {
                // console.log($(element));
                if ($(element).prop('checked')) {
                    $(element).parents('.cart_content').remove()
                    calc()
                    deleLocal($(element).parents('.cart_content').attr('id'))
                }
            })
        });
        // console.log(shoplist);
        //封装删除本地存储函数
        function deleLocal(id) {
            delete shoplist["cert_" + id]
            localStorage.setItem('shopS', JSON.stringify(shoplist))
            if (Object.keys(shoplist).length === 0) {
                localStorage.removeItem('shopS')
            }
        }
        //无商品点击逛逛回到主页
        $('.cart_content_no_god button').on('click', function () {
            location.href = 'http://127.0.0.1/SAMSUNGproject/frontend/index.html'
        })
    }
}
export {
    CarytShop
}